﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>FooTable - jQuery plugin for responsive HTML tables</title>
    <meta name="viewport" content="width = device-width, initial-scale = 1.0, minimum-scale = 1.0, maximum-scale = 1.0, user-scalable = no"/>
	<link href="css/bootstrap.css" rel="stylesheet" type="text/css"/>
	<link href="../css/footable.core.css?v=2-0-1" rel="stylesheet" type="text/css"/>
    <link href="css/footable-demos.css" rel="stylesheet" type="text/css"/>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
    <script>
        if (!window.jQuery) { document.write('<script src="js/jquery-1.9.1.min.js"><\/script>'); }
    </script>
    <script src="../js/footable.js?v=2-0-1" type="text/javascript"></script>
	<script src="../js/footable.sort.js?v=2-0-1" type="text/javascript"></script>
	<script src="js/bootstrap-tab.js" type="text/javascript"></script>
    <script src="js/demos.js" type="text/javascript"></script>
</head>
<body>
	<div class="demo-container">
        <ul class="breadcrumb">
            <li><a href="http://fooplugins.com/plugins/footable-jquery/">FooTable</a> <span class="divider">&raquo;</span></li>
            <li><a href="index.htm">Demos</a> <span class="divider">&raquo;</span></li>
            <li class="active">Sorting</li>
        </ul>
        <div class="alert">
            Add sorting to your FooTable
        </div>
		<ul class="nav nav-tabs">
			<li class="active"><a href="#demo">Demo</a></li>
			<li><a href="#setup">Setup</a></li>
			<li><a href="#docs">Docs</a></li>
		</ul>
		<div class="tab-content">
			<div class="tab-pane active" id="demo">
                Sort by
                <a href="#sort" class="sort-column" data-index="0">ID</a> |
                <a href="#sort" class="sort-column" data-index="1">First</a> |
                <a href="#sort" class="sort-column" data-index="4">DOB</a> |
                <a href="#sort" class="sort-column" data-index="5">Status</a>
				<table class="table demo">
					<thead>
						<tr>
                            <th data-type="numeric" data-sort-initial="true">
                                ID
                            </th>
							<th>
								First Name
							</th>
							<th data-sort-ignore="true">
								Last Name
							</th>
							<th data-hide="phone,tablet">
								Job Title
							</th>
							<th data-type="numeric" data-hide="phone,tablet">
								DOB
							</th>
							<th data-hide="phone">
								Status
							</th>
						</tr>
					</thead>
					<tbody>
						<tr>
                            <td>2</td>
							<td>Isidra</td>
							<td><a href="#">Boudreaux</a></td>
							<td>Traffic Court Referee</td>
							<td data-value="78025368997">22 Jun 1972</td>
							<td data-value="1"><span class="status-metro status-active" title="Active">Active</span></td>
						</tr>
						<tr>
                            <td>3</td>
							<td>Shona</td>
							<td>Woldt</td>
							<td><a href="#">Airline Transport Pilot</a></td>
							<td data-value="370961043292">3 Oct 1981</td>
							<td data-value="2"><span class="status-metro status-disabled" title="Disabled">Disabled</span></td>
						</tr>
						<tr>
                            <td>1</td>
							<td>Granville</td>
							<td>Leonardo</td>
							<td>Business Services Sales Representative</td>
							<td data-value="-22133780420">19 Apr 1969</td>
							<td data-value="3"><span class="status-metro status-suspended" title="Suspended">Suspended</span></td>
						</tr>
						<tr>
                            <td>8</td>
							<td>Easer</td>
							<td>Dragoo</td>
							<td>Drywall Stripper</td>
							<td data-value="250833505574">13 Dec 1977</td>
							<td data-value="1"><span class="status-metro status-active" title="Active">Active</span></td>
						</tr>
						<tr>
                            <td>4</td>
							<td>Maple</td>
							<td>Halladay</td>
							<td>Aviation Tactical Readiness Officer</td>
							<td data-value="694116650726">30 Dec 1991</td>
							<td data-value="3"><span class="status-metro status-suspended" title="Suspended">Suspended</span></td>
						</tr>
						<tr>
                            <td>5</td>
							<td>Maxine</td>
							<td><a href="#">Woldt</a></td>
							<td><a href="#">Business Services Sales Representative</a></td>
							<td data-value="561440464855">17 Oct 1987</td>
							<td data-value="2"><span class="status-metro status-disabled" title="Disabled">Disabled</span></td>
						</tr>
						<tr>
                            <td>6</td>
							<td>Lorraine</td>
							<td>Mcgaughy</td>
							<td>Hemodialysis Technician</td>
							<td data-value="437400551390">11 Nov 1983</td>
							<td data-value="2"><span class="status-metro status-disabled" title="Disabled">Disabled</span></td>
						</tr>
						<tr>
                            <td>9</td>
							<td>Lizzee</td>
							<td><a href="#">Goodlow</a></td>
							<td>Technical Services Librarian</td>
							<td data-value="-257733999319">1 Nov 1961</td>
							<td data-value="3"><span class="status-metro status-suspended" title="Suspended">Suspended</span></td>
						</tr>
						<tr>
                            <td>10</td>
							<td>Judi</td>
							<td>Badgett</td>
							<td>Electrical Lineworker</td>
							<td data-value="362134712000">23 Jun 1981</td>
							<td data-value="1"><span class="status-metro status-active" title="Active">Active</span></td>
						</tr>
						<tr>
                            <td>7</td>
							<td>Lauri</td>
							<td>Hyland</td>
							<td>Blackjack Supervisor</td>
							<td data-value="500874333932">15 Nov 1985</td>
							<td data-value="3"><span class="status-metro status-suspended" title="Suspended">Suspended</span></td>
						</tr>
					</tbody>
				</table>
			</div>
			<div class="tab-pane" id="setup">
                <p>
                    Check out the <a href="getting-started.htm#setup">getting started</a> demo to see how to setup FooTable.
                </p>
                <h4>Include Sorting Add-On</h4>
                <p>You simply need to include the sorting add-on javascript file to make your table sortable:</p>
                <pre>&lt;script src=&quot;path_to_your_js/footable.sort.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
			</div>
			<div class="tab-pane" id="docs">
                <h4>Sorting</h4>
                <p>Sorting of columns is done using FooTable's built-in parsers, which are defined in the default options. The parsers first look at the <code>data-value</code> attribute of a cell, and if there is no data-value attribute, then the .text() of the cell is used. Sorting is done using text-comparisons.</p>
                <h4>Sorting Numeric Data</h4>
                <p>To sort numeric data, you must specify that the column is <code>data-type="numeric"</code></p>
                <h4>Sorting Dates</h4>
                <p>To sort dates, you must specify that the column is <code>data-type="numeric"</code> and also specify a <code>data-value</code> value for each cell, which can be either the date value in ticks or the unix timestamp value, e.g. <code>&lt;td data-value=&quot;500874333932&quot;&gt;15 Nov 1985&lt;/td&gt;</code></p>
                <h4>Disable Sorting On Entire Table</h4>
                <p>You can disable sorting for a table by adding the data attribute <code>data-sort="false"</code> to the table.</p>
                <h4>Disable Sorting For Certain Columns</h4>
                <p>You can disable sorting for specific columns by adding the data attribute <code>data-sort-ignore="true"</code> to the column header definition.</p>
                <h4>Initial Sorting</h4>
                <p>You can sort a table automatically when the FooTable is initialized by adding some data attributes to your columns:</p>
                <p><code>data-sort-initial="true"</code> will automatically sort the column when the FooTable is initialized.</p>
                <p><code>data-sort-initial="descending"</code> will automatically sort the column in descending order when the FooTable is initialized.</p>
                <pre>&lt;table class=&quot;table demo&quot;&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th data-type=&quot;numeric&quot; data-sort-initial=&quot;true&quot;&gt;
				ID
			&lt;/th&gt;
			&lt;th&gt;
				First Name
			&lt;/th&gt;
			&lt;th data-sort-ignore=&quot;true&quot;&gt;
				Last Name
			&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;</pre>
                <h4>Sorting API</h4>
                <p>You can also programmatically sort your table:</p>
                <pre>
$(&#39;.sort-column&#39;).click(function (e) {
    e.preventDefault();

    //get the footable sort object
    var footableSort = $(&#39;table&#39;).data(&#39;footable-sort&#39;);

    //get the index we are wanting to sort by
    var index = $(this).data(&#39;index&#39;);

    //get the sort order
    var ascending = $(this).data('ascending');

    footableSort.doSort(index, ascending);
});</pre>
                <p>If you do not pass a sort order, it will toggle whatever the current sort order is.</p>
			</div>
		</div>
	</div>
    <script type="text/javascript">
        $(function () {
			$('table').footable();

            $('.sort-column').click(function (e) {
                e.preventDefault();

                //get the footable sort object
                var footableSort = $('table').data('footable-sort');

                //get the index we are wanting to sort by
                var index = $(this).data('index');

                footableSort.doSort(index, 'toggle');
            });
        });
    </script>
</body>
</html>
